﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace Loja.customer
{
    public partial class showpedido : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            { 
                int _pedNum = Convert.ToInt32(Request.Params["order"]);
                var pedido = new LojaChocolateDCDataContext().GetTable<Pedido>().Where<Pedido>(p => p.PedNum == _pedNum).SingleOrDefault();
                lblPedCod.Text = String.Format("{0:000000}",pedido.PedNum);
                lblDatPed.Text = pedido.PedDat.ToShortDateString();
                lblDatEnt.Text = (pedido.PedDatEnt != null ? pedido.PedDatEnt.Value.ToShortDateString() : "Não entregue");
                var itens = (from item in pedido.PedItes
                             select new
                             {
                                 IteSeq = item.IteSeq,
                                 ProDes = item.ProPe.Produto.ProDes,
                                 PtmPes = item.ProPe.PtmPes,
                                 IteVal = item.IteVal,
                                 IteQtd = item.IteQtd
                             }).ToList();                
                rptItens.DataSource = itens;
                rptItens.DataBind();
                lblValorTotal.Text = String.Format("{0:c}",( itens.Sum(i => (i.IteVal * i.IteQtd))));

                //lblBairro.Text = pedido.PedBai
                lblCEP.Text = String.Format("{0:00000-000}", pedido.PedEntCEP);
                lblCidade.Text = pedido.PedEntCid.ToString();
                lblEndereco.Text = pedido.PedEntEnd.TrimEnd();
                lblEstado.Text = pedido.PedEntEst;
                lblNumero.Text = pedido.PedEntNum.ToString();
                switch ((int)pedido.PedForPag)
                {
                    case (int)Negocio.ModoPagamento.Dinheiro:
                        lblForPag.Text = "Dinheiro";
                        break;
                    case (int)Negocio.ModoPagamento.Cheque:
                        lblForPag.Text = "Cheque";
                        break;
                    case (int)Negocio.ModoPagamento.Cartao:
                        lblForPag.Text = "Cartao";
                        break;
                    case (int)Negocio.ModoPagamento.Boleto:
                        lblForPag.Text = "Bolero";
                        break;
                }

                switch ((int)pedido.PedSta)
                {
                    case (int)Negocio.StatusPedido.Ativo:
                        lblForPag.Text = "Ativo";
                        break;
                    case (int)Negocio.StatusPedido.Entregue:
                        lblForPag.Text = "Entregue";
                        break;
                    case (int)Negocio.StatusPedido.FaltaPagamento:
                        lblForPag.Text = "Falta Pagamento";
                        break;
                    case (int)Negocio.StatusPedido.Inativo:
                        lblForPag.Text = "Inativo";
                        break;
                }
            }
        }
    }
}